' 
' Copyright (C) 2014 Infinity CCS Ltd (http://www.infinityccs.com/)
' Copyright (C) 2008 Sasa Coh <sasacoh@gmail.com>
'
' This program is free software; you can redistribute it and/or modify
' it under the terms of the GNU General Public License as published by
' the Free Software Foundation; either version 3 of the License, or
' (at your option) any later version.
'
' This program is distributed in the hope that it will be useful,
' but WITHOUT ANY WARRANTY; without even the implied warranty of
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
' GNU General Public License for more details.
'
' You should have received a copy of the GNU General Public License
' along with this program.  If not, see <http://www.gnu.org/licenses/>. 
'/


Imports System
imports System.Collections.Generic
Imports System.Text

Namespace Common
#Region "Enums"
  ''' <summary>
  ''' Call state Ids
  ''' </summary>
  Public Enum EStateId As Integer
    NULL = &H0
    IDLE = &H1
    CONNECTING = &H2
    ALERTING = &H4
    ACTIVE = &H8
    RELEASED = &H10
    INCOMING = &H20
    HOLDING = &H40
    TERMINATED = &H80
  End Enum

  ''' <summary>
  ''' List of user status modes.
  ''' Do NOT change the order of enums. It should be synchronized with 
  ''' native stack implementation!!!
  ''' </summary>
  Public Enum EUserStatus As Integer
    AVAILABLE
    BUSY
    OTP
    IDLE
    AWAY
    BRB
    OFFLINE
    OPT_MAX
  End Enum

  ''' <summary>
  ''' List of supported service codes.
  ''' Do NOT change the order of enums. It should be synchronized with 
  ''' native stack implementation!!!
  ''' </summary>
  Public Enum EServiceCodes As Integer
    SC_CD
    SC_CFU
    SC_CFNR
    SC_DND
    SC_3PTY
    SC_CFB
  End Enum


  Public Enum ECallNotification As Integer
    CN_HOLDCONFIRM
  End Enum

  ''' <summary>
  ''' Dtmf modes
  ''' </summary>
  Public Enum EDtmfMode As Integer
    DM_Outband
    DM_Inband
    DM_Transparent
  End Enum

  Public Enum ETransportMode As Integer
    TM_UDP
    TM_TCP
    TM_TLS
  End Enum

#End Region

End Namespace
